package com.vogue.supplymall.payment.dto;

import java.io.Serializable;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * 调用支付接口传入的参数_订单详情
 * 
 * @author 崔岳
 *
 */
public class InputParameterOrder extends ValidationDTO implements Serializable {
	
	/**
	 * 验证有效值的字段集合
	 */
	@SuppressWarnings("serial")
	public static final Map<String, List<Object>> valueValidityMap = new HashMap<String, List<Object>>() {{
		 put("cardflag", Arrays.asList((new Integer[]{0, 1})));
		 put("product", Arrays.asList((new String[]{"600000","700000"})));
	}};
	
	/**
	 * 验证必填字段的集合
	 */
	public static final List<String> requiredList = Arrays.asList((new String[]{
		"orderid", "storeid", "money", "dismoney", "items"
	}));
	
	/**
	 * 订单id(必填)
	 */
	private String orderid;

	/**
	 * 门店id_开通商龙云吾享门店id(必填)
	 */
	private String storeid;

	/**
	 * 价格(必填)
	 */
	private Double money;

	/**
	 * 可打折金额(必填)
	 */
	private Double dismoney;

	/**
	 * 桌号
	 */
	private String tablenum;

	/**
	 * 是否使用会员卡支付，默认0未使用，1使用
	 */
	private Integer cardflag = 0;

	/**
	 * 账单金额
	 */
	private Double billmoney;

	/**
	 * 可积分金额
	 */
	private Double billdismoney;

	/**
	 * 风行云供应链:600000,食尚购:700000
	 */
	private String product = "700000";

	/**
	 * 订单详情(必填)
	 */
	private List<InputParameterOrderItem> items;

	/**
	 * 订单id(必填)
	 */
	public String getOrderid() {
		return orderid;
	}

	/**
	 * 订单id(必填)
	 */
	public void setOrderid(String orderid) {
		this.orderid = orderid;
	}

	/**
	 * 门店id_开通商龙云吾享门店id(必填)
	 */
	public String getStoreid() {
		return storeid;
	}

	/**
	 * 门店id_开通商龙云吾享门店id(必填)
	 */
	public void setStoreid(String storeid) {
		this.storeid = storeid;
	}

	/**
	 * 价格(必填)
	 */
	public Double getMoney() {
		return money;
	}

	/**
	 * 价格(必填)
	 */
	public void setMoney(Double money) {
		this.money = money;
	}

	/**
	 * 可打折金额(必填)
	 */
	public Double getDismoney() {
		return dismoney;
	}

	/**
	 * 可打折金额(必填)
	 */
	public void setDismoney(Double dismoney) {
		this.dismoney = dismoney;
	}

	/**
	 * 桌号
	 */
	public String getTablenum() {
		return tablenum;
	}

	/**
	 * 桌号
	 */
	public void setTablenum(String tablenum) {
		this.tablenum = tablenum;
	}

	/**
	 * 是否使用会员卡支付，默认0未使用，1使用
	 */
	public Integer getCardflag() {
		return cardflag;
	}

	/**
	 * 是否使用会员卡支付，默认0未使用，1使用
	 */
	public void setCardflag(Integer cardflag) {
		this.cardflag = cardflag;
	}

	/**
	 * 账单金额
	 */
	public Double getBillmoney() {
		return billmoney;
	}

	/**
	 * 账单金额
	 */
	public void setBillmoney(Double billmoney) {
		this.billmoney = billmoney;
	}

	/**
	 * 可积分金额
	 */
	public Double getBilldismoney() {
		return billdismoney;
	}

	/**
	 * 可积分金额
	 */
	public void setBilldismoney(Double billdismoney) {
		this.billdismoney = billdismoney;
	}

	/**
	 * 风行云供应链:600000,食尚购:700000
	 */
	public String getProduct() {
		return product;
	}

	/**
	 * 风行云供应链:600000,食尚购:700000
	 */
	public void setProduct(String product) {
		this.product = product;
	}

	public List<InputParameterOrderItem> getItems() {
		return items;
	}

	public void setItems(List<InputParameterOrderItem> items) {
		this.items = items;
	}

	@Override
	List<String> requiredFieldList() {
		return requiredList;
	}

	@Override
	Map<String, List<Object>> valueValidityMap() {
		return valueValidityMap;
	}
}
